Field of the Invention
The present invention relates to live updates of operating system code.
Background of the Related Art
Whenever a software system gets a functionality or security fix, users running the software may need to update it by downloading and applying the fix to that software. However, for most types of software, especially one distributed in a form of binary code, this typically requires a software restart and leads to an undesirable disruption. A good example of such undesirable disruption is Operating System (OS) kernel updates, which require the entire host machine and all its running applications to reboot, which may result in tens of minutes of effective service downtime.
A “live update” technology changes a running program or those of its parts that require the update without restarting it. However, it is a challenging task to generate and apply such binary updates for programs written in languages like C/C++ and then distributed as compiled machine-dependent binaries.